package com.chaochis.wind.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.chaochis.wind.vo.WindAccount;
import com.chaochis.wind.vo.WindUser;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author 刘超
 * @version 1.0.0
 * 该接口是mybatis中对windUser类的操作Mapper
 */
@Repository
public interface WindUserMapper extends BaseMapper<WindUser> {

    /**
     * 获取用户列表
     * @param windUser 查询条件
     * @return 返回查到的用户列表
     */
    public List<WindUser> getWindUserList(WindUser windUser);

    /**
     * 更新用户的基本信息(只能更新状态正常的用户)
     * @param windUser 变更后的用户信息
     */
    public void updateWindUser(WindUser windUser);

    /**
     * 变更用户状态(激活用户，或者逻辑删除用户，或从回收站恢复用户)
     * @param windUser 变更后的用户信息
     */
    public void changeWindUserStatus(WindUser windUser);

    /**
     * 删除用户信息(只允许删除未激活，已被逻辑删除的用户)
     * @param windUserId 用户id
     */
    public void deleteWindUser(String windUserId);
    
    /**
     * 获取某用户绑定的所有账户
     * @param windUserId 用户id
     * @return 返回该用户绑定的所有账户
     */
    public List<WindAccount> getBoundAccounts(String windUserId);
}
